﻿//namespace EasyWeb.Web.Controllers
//{
//    using System;
//    using System.Collections.Generic;
//    using System.Linq;
//    using System.Text;
//    using System.Threading.Tasks;
//    using System.Web.Mvc;
//    using EasyWeb.Caching;
//    using EasyWeb.Configuration;
//    using EasyWeb.Web.Models;

//    public partial class EWConfigurationController
//    {
//        public ActionResult Wizard()
//        {
//            var model = new EWConfigurationWizardModel();

//            string prefix;
//            EWDefaultLanguageConfiguration language;
//            byte[] timestamp;

//            var dao = EWHelpers.Data.DaoFactory.ConfigurationDao;
//            using (var ts = EWHelpers.Data.BeginTransaction())
//            {
//                dao.SelectSystemPrefix(out prefix, out timestamp);
//                model.Prefix = new EWConfigurationPrefixModel()
//                {
//                    Value = prefix,
//                    Timestamp = timestamp,
//                    HasStored = !string.IsNullOrEmpty(prefix)
//                };

//                dao.SelectDefaultLanguage(out language, out timestamp);
//                model.Language = new EWConfigurationLanguageModel()
//                {
//                    Value = language,
//                    Timestamp = timestamp,
//                };

//                ts.Complete();
//            }

//            return View(EWHelpers.Web.View.GetFullViewName(), model);
//        }

//        [HttpPost]
//        public ActionResult Wizard([Bind(Prefix = EWHelpers.Web.HtmlFieldPrefix)] EWConfigurationWizardModel model)
//        {
//            if (ModelState.IsValid)
//            {
//                var dao = EWHelpers.Data.DaoFactory.ConfigurationDao;
//                using (var ts = EWHelpers.Data.BeginTransaction())
//                {
//                    if (!model.Prefix.HasStored)
//                    {
//                        dao.UpdateSystemPrefix(model.Prefix.Value, model.Prefix.Timestamp);
//                        EWCacheManager.Set(EWCommon.State_Key_Global_SystemPrefix, model.Prefix.Value);
//                    }

//                    dao.UpdateDefaultLanguage(model.Language.Value, model.Language.Timestamp);
//                    EWCacheManager.Set(EWCommon.State_Key_Global_DefaultLanguage, model.Language.Value);

//                    ts.Complete();
//                }

//                return RedirectToRoute("EasyWeb_Admin");
//            }

//            return View(EWHelpers.Web.View.GetFullViewName(), model);
//        }
//    }
//}
